去年我做的是處理會議紀錄的 Agent,今年做的是常駐 Agent,這兩件事的難點落在不同的地方。
會議 Agent 的問題是一次性的:語音轉文字、摘要、寄信,串通就結束。常駐 Agent 的問題要跑幾天才出現,換更強的模型之後依然存在。
這三個是我自己遇到、並記錄下來的
重新啟動後,先前寫入的偏好遺失。Hermes 內建 MEMORY.md 與 USER.md 搭配 FTS5 索引,寫入是條件觸發的,條件成立時才寫進檔案。
模型本身無狀態,context window 載入什麼就只知道什麼。 要跨 session 保留資訊,得有一層機制做兩件事:
這層機制位在模型之外。
Discord 群組頻道中,訊息以 顯示名稱: 內容 的格式送進 context,模型把前綴解析成自身 identity,回覆時自稱發話者的名稱。
根本原因是 identity 完全由注入內容決定。SOUL.md 的身分宣告只在 system prompt 出現一次,經 context 壓縮後被移除,剩下唯一可判斷 identity 的線索就是訊息開頭那個名字。
agent 的執行權限上限由它持有的 API 金鑰決定。同一條寄信限制,寫在兩個位置的效果不同:
兩者的差異在於能否驗證
| 問題 | 實際缺的機制 |
|---|---|
| 跨 session 狀態在重啟後遺失 | 狀態的寫入與讀取 |
| 身分認知隨注入內容改變 | 能保存下來並持續生效的身分宣告 |
| 操作超出授權範圍 | 在協定層擋得住的授權邊界 |
換上參數量更大的模型,它依然是無狀態的,identity 依然由注入內容決定,手上依然是同一組全權限金鑰。
這類問題屬於 Harness Engineering 的範圍:
Agent = Model + Harness
Harness 指包覆在 Model 外層的執行框架,它決定三件事:
Mitchell Hashimoto 的定義是:每當發現 agent 犯了一個錯,就花時間工程化一個解法,讓它再也不會犯同一個錯。
Guo 等人 2026 年的調查(arXiv:2606.20683)把 agent 工程的演進整理成四個範式:
| 範式 | 處理對象 |
|---|---|
| Prompt engineering | 單次請求的指令構造 |
| Workflows 與 context engineering | 進入 context window 的內容與配置 |
| Harness engineering | 模型被授權執行的操作、回饋迴圈與驗證機制 |
| Agent-native training with co-evolution | 模型與 harness 一起訓練、共同演進 |
前三者是疊加關係,第四者動到模型訓練,範圍超出這 30 天
同一份調查把執行 harness 分解成六項耦合的執行期職責:
| 職責 | 負責什麼 |
|---|---|
| Observation Interface | 把環境訊號轉成模型可用的觀察 |
| Context Manager | 什麼進入 context、何時進、以什麼形式進 |
| Control Loop | 編排觀察、推理、行動、回饋這個循環 |
| Action Interface | 把模型輸出對映成可執行的操作 |
| State and Artifact Store | 保存執行狀態與產物 |
| Verification and Governance | 檢查、約束與修復執行 |
Model 位在這六項之外,是可替換的推論端點。
這六項互相耦合。 行動介面越有表達力,需要的權限控制就越強,而保存下來的產物決定了哪些證據可供查核。
| 名稱 | 角色 | 選它的理由 |
|---|---|---|
| Hermes Agent | runtime 與狀態層 | 開源,記憶、排程、身分三層內建 |
| Gemini | 推論 | 原生支援平行與組合式函式呼叫,多步驟的工具呼叫由模型端直接組合 |
| MCP | 工具介接協定 | 換模型或換框架時,工具側沿用同一份實作 |
第一階段接上 Model 這一端並確認可替換性。 換掉推論端點後,其餘職責維持原狀。
第二階段處理內部狀態。 context window 的容量固定,system prompt 與工具 schema 會先佔去一部分,掛越多 MCP 剩越少。這段要量出每一項的實際佔用,再決定什麼該進 context、什麼該寫入長期記憶、身分宣告放在哪一項底下才撐得過壓縮。
第三階段處理外部行為。 工具要能被呼叫,而且要能證明它確實被呼叫過,權限邊界落在協定層。排程觸發之後,agent 要自己回讀狀態確認結果符合預期。
三十天結束時,這個 agent 要能在無人值守下依排程執行任務、驗證自己的輸出,並在失效時留下可追溯的紀錄